PHP arrays
Home

PHP arrays

PHP arrays

Array's (erreejs) worden gebruikt om verschillende gegevens onder 1 naam bij elkaar te houden en dus te vermijden dat je voor elke gegeven een andere variabele naam zoals $item1 $item2 en $item3, enz. gaat gebruiken. Een array bestaat uit een sleutel en een waarde. De sleutel moet uniek zijn en wordt gebruikt om de overeenkomstige waarde te vinden of te wijzigen. Je hebt twee soorten array's:

  1. numerieke of enkelvoudige array
  2. associatieve array
  1. Een array maken

    Om een array te maken gebruik je de functie array().

    Bij numerieke arrays moet je de sleutel niet zelf opgegeven. De sleutel wordt door PHP zelf berekend. Een numerieke sleutel die door PHP is aangemaakt is begint met een 0, waar je logischer wijze 1 zou verwachten. Zo'n array maak je als volgt:

    $lessen = array('Programmeren', 'Multimedia', 'Netwerkbeheer');

    Om de waarden van de array te tonen:

    echo '<ol>';
    foreach ($lessen as $value) {
        echo '<li>' . $value . '</li>';
    }
    echo '</ol>';

    Output:

    1. Programmeren
    2. Multimedia
    3. Netwerkbeheer

    Je kan nagaan dat een enkelvoudige array eigenlijk een associatieve array is met een impliciete sleutel:

    echo '<p>De volgende programmeertalen leren we op school:</p>';
    echo '<ol>';
    foreach ($lessen as $key => $value) {
        echo '<li>sleutel: ' . $key . ' waarde: ' . $value . '</li>';
    }
    echo '</ol>';

    Output:

    De volgende programmeertalen leren we op school:
       1. sleutel: 0 waarde: Programmeren
       2. sleutel: 1 waarde: Multimedia
       3. sleutel: 2 waarde: Netwerkbeheer

    Associatieve arrays hebben een woord of zin als sleutel. Ze zijn voor de programmeur makkelijker te lezen dan numerieke arrays. Let er op dat de namen van de sleutels, net als gewone variabelen, hoofdlettergevoelig zijn en uniek moeten zijn:

    $array = array('naam'=>'JavaScript', 'versie'=>'ES8', 'uren'=>'24', 'locatie'=>'Antwerpen');
    echo 'Wij bieden de volgende opleiding aan: <br />';
    foreach ($array as $sleutel => $waarde) {
        echo $sleutel . ': ' . $waarde . '<br />';
    }
  2. Een waarde uitlezen

    Om een waarde uit de array op te halen plaats je vierkante haken met de sleutel ertussen na de naam van de array:

    $arraynaam[sleutel];

    Voor een numerieke array:

    $lessen = array('Programmeren', 'Multimedia', 'Netwerkbeheer');
    echo $lesson[1];

    Output:

    Multimedia

    Voor een associatieve array:

    $array = array('naam'=>'JavaScript', 'versie'=>'ES8', 'uren'=>'24', 'locatie'=>'Antwerpen');
    echo $array['versie'];

    Output:

    ES8
  3. Waarde wijzigen

    Om een waarde in een array te wijzingen wordt eveneens de sleutel gebruikt:

    $arraynaam[sleutel] = 'nieuwe waarde';

    $array = array('naam'=>'JavaScript', 'versie'=>'ES8', 'uren'=>'24', 'locatie'=>'Antwerpen');
    echo $array['versie'];
    echo  '<br />';
    $array['versie'] = 'ES7';
    echo $array['versie'];
    echo  '<br />';

    Output:

    ES8
    ES7
  4. Array uitbreiden

    Je kan een nieuw element aan een numerieke array toevoegen als volgt:

    $lessen = array('Programmeren', 'Multimedia', 'Netwerkbeheer');
    $lessen[] = 'IT Organisatie';
    echo '<ol>';
    foreach ($lessen as $value) {
       echo '<li>' . $value . '</li>';
    }
    echo '</ol>';

    Output:

    1. Programmeren
    2. Multimedia
    3. Netwerkbeheer
    4. IT Organisatie

    Het toevoegen van een element aan een associatieve array is iets anders. Je moet zelf een sleutel meegeven want PHP zal anders automatisch een nummer als sleutel toekennen. Voor een associatieve array het uitbreiden van een array hetzelfde als het wijzigen van een waarde. Als de sleutel nog niet bestaat, wordt een nieuw element toegevoegd en als de sleutel wel al bestaat wordt de bestaande waarde gewijzigd:

    $array = array('naam'=>'JavaScript', 'versie'=>'ES8', 'uren'=>'24', 'locatie'=>'Antwerpen');
    $array['datum'] = '24/02/2019';
    $array['versie'] = 'ES6';
    echo '<p>De volgende programmeertalen leren we op school:</p>';
    echo '<ol>';
    foreach ($array as $key => $value) {
        echo '<li>sleutel: ' . $key . ' waarde: ' . $value . '</li>';
    }
    echo '</ol>';

    Dit is overigens een andere maniervoor het maken van een array:

    $array['naam'] ='JavaScript';
    $array['versie'] = 'ES8';
    $array['uren'] = '24';
    $array['locatie'] = 'Antwerpen';
    $array['datum'] = '24/02/2019';
    echo '<p>De volgende programmeertalen leren we op school:</p>';
    echo '<ol>';
    foreach ($array as $key => $value) {
        echo '<li>sleutel: ' . $key . ' waarde: ' . $value . '</li>';
    }
    echo '</ol>';
  5. Multidimensionele array

    Een array kan ook een element van een array zijn. Als je een array hebt met als element een array spreken we van een multidimensionele array:

    $school['A'] = array('naam'=>'JavaScript', 'versie'=>'ES8', 'uren'=>'24', 'locatie'=>'Antwerpen');
    $school['B'] = array('naam'=>'Frans', 'uren'=>'20', 'locatie'=>'Brussel');
    echo '<ol>';
    foreach ($school as $key => $value) {
        echo '<li>In school ' . $key . ' leren we:</li>';
        echo '<ol>';
        foreach ($value as $key2 => $value2) {
            echo '<li>sleutel: ' . $key2 . ' waarde: ' . $value2 . '</li>';
        }
        echo '</ol>';
    }
    echo '</ol>';

    Output:

    1. In school A leren we:
        1. sleutel: naam waarde: JavaScript
        2. sleutel: versie waarde: ES8
        3. sleutel: uren waarde: 24
        4. sleutel: locatie waarde: Antwerpen
    2. In school B leren we:
        1. sleutel: naam waarde: Frans
        2. sleutel: uren waarde: 20
        3. sleutel: locatie waarde: Brussel

JI
2019-02-26 21:06:57